package cn.stronglink.asset.module.dam.service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSON;
import cn.stronglink.asset.module.dam.entity.message.MsgScreenCommand;
import cn.stronglink.asset.module.dam.entity.message.basicMsg.DamMqMessage;
import cn.stronglink.asset.module.dam.entity.message.secondMsg.AwsPostdataCommand;
import cn.stronglink.asset.module.dam.interfaces.CommandStrategyI;
import cn.stronglink.asset.module.dam.utils.dataJsonUtils.req.send.HexToTenUtil;
import cn.stronglink.asset.module.dam.utils.factorys.req.Factory222SetNetwork;

/**
 * 命令5： 设置网络
 * @author Administrator
 *
 */
@Service("setNetworkService")
public class ScreenReqSetNetworkService  implements CommandStrategyI{
	
	
	//命令222： 设置网络
	@Override
	public void handleDamDatas(DamMqMessage msg){
	
	// 再次接收数据时， 判断是否为取回的网络配置--文本内容
	/*EEB111000400 631001   00FFFCFFFF
	EEB111000400 0111 3132  00FFFCFFFF======》1： 12
	EEB111000400 0211 3935  00FFFCFFFF======》2: 95
	EEB111000400 0311 32    00FFFCFFFF======》3：  2

	EEB111000400 0411 32    00FFFCFFFF==== =》4:  2
	EEB111000400 0511 3235  00FFFCFFFF===  =》5：  25*/

		AwsPostdataCommand postData=((MsgScreenCommand)msg).getAwsPostdata();
		String cmd=postData.getCommand();
		
		//获取输入的数据： 1-3    4-5 ==发送两次指令
		Map<String,String> values=new HashMap<String,String>();
		for(int i=1;i<=5;i++) {
			
			int start=cmd.indexOf("EEB1110004000"+i+"11");
			int end=cmd.indexOf("00FFFCFFFF", start);
			String val=cmd.substring(start, end);
			
			String valConverted=HexToTenUtil.convertHexToAscII(val);
			values.put(i+"", valConverted);
			System.out.print("输入的参数：==="+val+"="+valConverted+"\t");
		}
		
		Factory222SetNetwork.getParamAndSendMsg( msg,values);
		//CommandReceiver.isNetowrkParam=false;
	}

	@Override
	public boolean isHandle(int commandId) {
		//命令222： 设置网络
		if(commandId==222){
			return true;
		}
		  return false;
	}

}
